Minutes, IBIS Quality Task Group 7 December 2021 12:00-13:00 EST (09:00-10:00 PST) ROLL CALL ANSYS Curtis Clark Intel Technology * Michael Mirmak Micron Technology * Randy Wolff Siemens EDA * Weston Beal Signal Integrity Software: * Mike LaBonte Teraspeed Labs: * Bob Ross Zuken USA: Lance Wang Everyone in attendance marked by * NOTE: "AR" = Action Required. -----------------------MINUTES --------------------------- Mike LaBonte conducted the meeting. Call for IBIS related patent disclosures: - None Call for opens: - Weston Beal asked to discuss IQ list Review of previous meeting minutes: Minutes from the November 30, 2021 meeting were reviewed. Randy Wolff moved to accept the minutes. Bob Ross seconded the motion. Without objection, the minutes were approved. ARs: - AR: Mike LaBonte to investigate TSCHK encoding issue sent by Randy Wolff Done. Touchstone files must be ASCII, but Windows PowerShell was producing Unicode files. Randy Wolff suggested a future fix to have it save ASCII files. Weston Beal suggested documenting. Randy suggested the web page. Mike to do that AR - AR: Bob Ross to upload prior IBISCHK source code distributions Not done yet. NEW ITEMS: IBISCHK710 development: Bob Ross said the developer had one more fix to make, and the software would be sent soon. New parser bug reports: Bob Ross showed a new IBISCHK bug report from Michael Mirmak, about consistency of IBIS-AMI root names. Bob said the bug had not yet been assigned a number. Mike LaBonte described the request. Mike said the change would involve calling AMI DLL functions, whereas IBISCHK currently only checked for the presence of the functions. Weston Beal asked how that was done. Mike said there were system functions to get the symbol table for a DLL, but he could not recall the names of those functions. Weston asked what would go wrong if there was a root name inconsistency. Mike said some model DLLs depended on an assumption that the AMI_parameters_in string received from the EDA tool would have a root name matching that found in the associated AMI file. Similarly, the EDA tool might depend on the AMI_parameters_out string passed back from the DLL having that same root name. Michael Mirmak said the specification strongly implied that the root name had meaning. He cited an example where there could be multiple streams of data keyed by that name. We had no way to check it today, but some tools had trouble where there was a root name mismatch. That was difficult to debug when it occurred. He suggested printing a NOTE or CAUTION upon mismatch. Mike said IBISCHK could only look at AMI_parameters_out returned by the DLL. The DLL might have that hard-coded, or might it pass on the root name that it received in AMI_parameters_in. Since a root name mismatch might cause the DLL to fail to parse the passed parameter settings, we would need a means to detect that using only the DLL outputs. Michael said David Banas had a checking solution using his PyBERT tool. Weston said other things could be checked while IBISCHK was calling the functions. He suggested having a checker separate from IBISCHK. We discussed means to link to the PyBERT software. Michael felt there could be issues using open source code. Mike mentioned the IBIS_AMI_test software freely available on the IBIS website. It was unlikely to see further development. IBIS_AMI_test had a strict requirement for root name matching, because parameter strings from piped processes were concatenated and had to be decoded. Michael said he knew of two EDA tools that had issues with mismatches. Mike said the root was originally supposed to have no function, it was modeled after LISP data structures in which an unexamined root word was required to be a placeholder to allocate an empty structure.. Michael said there could be a future IBIS provision for an AMI selector, and the root name might be key to that. Mike said only AMI_parameters_out could be checked, he was not sure if that would suffice. Michael said the structure could be checked to determine if there was a mismatch. He wondered if IBIS could be enhanced to provide for a DLL built-in test mode. IBIS quality checklist: Weston Beal said he had written an enhanced IBIS checker that was based on IBISCHK for level 1 checking. Other checks were based on the IBIS Quality Specification. Those checks produced a quality level score. Not all checks could be automated, human judgment was required. He asked if the checks could be redefined to be more programmable. Weston also felt should there be new checks. One new check for DDR would check if DQ and STROBE pins used different [Model Selector]s. They should not use the same selector. Mike asked how we would detect DQ and STROBE pins, since name checking was likely to be unreliable. Randy Wolff said [Clocked Pins] could be used to find the DQ pins. Mike said the check should be a warning, since there was no related IBIS requirement. Weston Beal said that was OK, it would still affect the final quality score. Mike said some checks required comparison against data external to the IBIS file, to which IBISCHK had no access. Weston gave the example of the IBIS requirement that the pin list be complete. Mike suggested checking ISS package pins against component pins might detect component pins missing the the [Pin] table. Weston said there should not be any unused package pins. Mike said Unused_port_termination was there to support unused package pins. We discussed whether to pursue expanding the IBIS Quality Specification. Weston felt that not many model producers were using the checklist. Mike felt it might be good to automate in IBISCHK whichever checks could be automated. Tabled topics (no discussion without motion): - BIRD181.2 - IBISCHK security fixes Weston Beal moved moved to adjourn. Michael Mirmak seconded. Without objection the meeting ended. Meeting ended: 13:03 ET Next meeting December 14, 2021